package com.spsoft.vatoutinv.service.vmsiscinformation;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.spsoft.core.model.Result;
import com.spsoft.vatoutinv.model.dto.vmsiscinformation.VmsIscInformationDto;
import com.spsoft.vatoutinv.model.dto.vmsiscinformation.VmsIscInformationUpOrCancelDto;
import com.spsoft.vatoutinv.model.vo.vmsiscinformation.VmsIscInformationDetailVo;
import com.spsoft.vatoutinv.model.vo.vmsiscinformation.VmsIscInformationVo;

import javax.servlet.http.HttpServletResponse;

public interface VmsIscInformationService {

    /**
     * 根据月份查询数电发票信息
     *VmsIscInformationVo
     * @param dto
     * @return
     */
    Result queryIscInformationPage(VmsIscInformationDto dto);

    /**
     * 根据月份查询数电发票信息
     *
     * @param dto
     * @return
     */
    IPage<VmsIscInformationDetailVo> queryIscInformationDetailPage(VmsIscInformationDto dto);

    /**
     * 导出数电发票M明细信息
     * @param dto
     * @return
     */
    void exportExcel(VmsIscInformationDto dto,HttpServletResponse response);

    /**
     * 上传数电发票汇总信息
     * 调取乐企【发票汇总确认】接口
     * 接口入参“业务类型”选择“0：确认”，
     * 将选定的汇总月份发票汇总确认信息上传至税局端进行汇总结果比对，
     * @param dto
     * @return
     */
    Result uploadIscInfor(VmsIscInformationUpOrCancelDto dto);

    /**
     * 取消上传数电发票汇总信息
     * 调取乐企【发票汇总确认】接口，接口入参“业务类型”选择“1：取消”，
     * 将选定的汇总月份上传至税局端进行取消汇总确认结果操作
     * @param dto
     * @return
     */
    Result cancelIscInforUpload(VmsIscInformationUpOrCancelDto dto);


    //Result<VmsIscInformationVo> queryLeqi(VmsIscInformationDto query);
}
